Kubernetes 実践ガイド
著 : 北山晋吾、早川博
発行年 : 2019 年
https://book.impress.co.jp/books/1118101053
https://m.media-amazon.com/images/P/B07TSBP3CZ.01._SCLZZZZZZZ_SX500_.jpg
Amazon : https://amzn.to/3jMx0hE
本書のまとめ
デジタル・トランスフォーメーションへの対応として、クラウドネイティブが注目されている話
クラウドネイティブアプリケーション開発の中で、アジリティや可搬性を実現するためにコンテナ技術が重要
現在、コンテナ技術は、Open Container Initiative (OCI) により標準化されている
コンテナを活用したサービス運用のために、コンテナオーケストレーションが必要
実装として Kubernetes がデファクトスタンダードになっている
Kubernetes のアーキテクチャや概念、使い方を説明
後半には、Kubernetes 周りのエコシステムの紹介
Kubernetes 上のパッケージマネジャー Helm や NoOps 実現のための Operator
クラウドネイティブな継続的インテグレーション (CI)、そのための BuildKit や Skaffold
クラウドネイティブな継続的デリバリー (CD)、そのためのツールとして Spinnaker
Kubernetes 上でマイクロサービスアーキテクチャを構築するのに役立つ話
サービスメッシュ (Istio) など
感想
Kubernetes 単体の話ではなく、前提知識として IT システムに関する世の中の動きやコンテナ技術についての紹介がある点が良い
Kubernetes 自体の説明もわかりやすいし、Kubernetes を活用していくために必要な周辺エコシステムについても後半でしっかり説明されていて良かった
発行年が 2019 年で、いくつかのツールやプロジェクトの情報については既に古くなってしまっているので、そこらへんについては自分で調べながら読む必要がある
コンテナを活用してサービス運用している人、しようとしている人が把握しておく内容が詰まっていると思うので、以下のような人は読むと良いと思う
クラウドネイティブについて知らない
コンテナ技術全般 (Docker 以外も含めた Open Container Initiative での標準化周りなど) について把握できていない
Kubernetes を使っている (または使いたい) が、Kubernetes について概念的な理解をしていない
Kubernetes 周辺のエコシステム (パッケージマネジャーや CI/CD、サービスメッシュなど) について把握していない
1 部 Kubernetes の基礎知識
1 章 クラウドネイティブが目指す世界
コンテナ技術は開発プロセスや運用組織のあり方も変えていく
背景には、デジタル・トランスフォーメーションへの対応 (ビジネスのスピードやサービスの品質を技術で革新)
プラットフォームの設計思想として 「クラウドネイティブ」 (Cloud Native) が注目されている
2 章 コンテナを支える技術
クラウドネイティブを実現するうえでの大きな課題はクラウド技術に対する環境依存
コンテナ
3 章 Kubernetes のアーキテクチャ
Kubernetes のアーキテクチャ
4 章 Kubernetes クラスタの構築
Kubernetes を管理・提供する製品・サービス
kubeadm
Azure Kubernetes Service
5 章 Kubernetes オブジェクトの概要
Kubernetes オブジェクト
Pod デザインパターン
Kubernetes で環境変数を扱う方法
オートスケール
Pod の 水平オートスケール (HPA)、垂直オートスケール (VPA)
metrics-server (Kubernetes)
2 部 クラウドネイティブアプリケーションの開発・運用
6 章 コンテナアプリケーションカタログ
Helm や Operator を活用したサービスカタログの利用
Kubernetes の強みは YAML による宣言的な定義だが、マイクロサービス化などで YAML の数が増えると管理が大変になる
YAML の壁 (Wall of YAML) と言われる
解決策としてコンテナアプリケーションのカタログ化
ITIL などで定義されているサービスカタログ
パッケージマネージメント
Kubernetes においては Helm や Kustomize が代表例
NoOps
Operator : Kubernetes 上で NoOps を実現するソリューション
7 章 継続的インテグレーション
Buildkit や Skaffold を活用したコンテナアプリケーションのビルドやテスト
継続的インテグレーション
コンテナアプリケーションの継続的インテグレーション
アプリケーションコンテナのセキュリティ
Quarkus
8 章 継続的デリバリ
Spinnaker を活用したコンテナアプリケーションのデプロイメントパイプライン
2019 年に Continuous Delivery Foundation (CDF) が発足
MinIO
9 章 マイクロサービス
サービスメッシュを活用したマイクロサービスの運用
Istio
Service Mesh Interface (SMI)
カオスエンジニアリング
分散トレーシング
インプレスの電子書籍を購入
#Kubernetes #書籍